package com.qfedu.yuxiaoer.entity;

import java.util.ArrayList;
import java.util.List;

public class HouseFacilityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public HouseFacilityExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andGymIsNull() {
            addCriterion("gym is null");
            return (Criteria) this;
        }

        public Criteria andGymIsNotNull() {
            addCriterion("gym is not null");
            return (Criteria) this;
        }

        public Criteria andGymEqualTo(String value) {
            addCriterion("gym =", value, "gym");
            return (Criteria) this;
        }

        public Criteria andGymNotEqualTo(String value) {
            addCriterion("gym <>", value, "gym");
            return (Criteria) this;
        }

        public Criteria andGymGreaterThan(String value) {
            addCriterion("gym >", value, "gym");
            return (Criteria) this;
        }

        public Criteria andGymGreaterThanOrEqualTo(String value) {
            addCriterion("gym >=", value, "gym");
            return (Criteria) this;
        }

        public Criteria andGymLessThan(String value) {
            addCriterion("gym <", value, "gym");
            return (Criteria) this;
        }

        public Criteria andGymLessThanOrEqualTo(String value) {
            addCriterion("gym <=", value, "gym");
            return (Criteria) this;
        }

        public Criteria andGymLike(String value) {
            addCriterion("gym like", value, "gym");
            return (Criteria) this;
        }

        public Criteria andGymNotLike(String value) {
            addCriterion("gym not like", value, "gym");
            return (Criteria) this;
        }

        public Criteria andGymIn(List<String> values) {
            addCriterion("gym in", values, "gym");
            return (Criteria) this;
        }

        public Criteria andGymNotIn(List<String> values) {
            addCriterion("gym not in", values, "gym");
            return (Criteria) this;
        }

        public Criteria andGymBetween(String value1, String value2) {
            addCriterion("gym between", value1, value2, "gym");
            return (Criteria) this;
        }

        public Criteria andGymNotBetween(String value1, String value2) {
            addCriterion("gym not between", value1, value2, "gym");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolIsNull() {
            addCriterion("swimming_pool is null");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolIsNotNull() {
            addCriterion("swimming_pool is not null");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolEqualTo(String value) {
            addCriterion("swimming_pool =", value, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolNotEqualTo(String value) {
            addCriterion("swimming_pool <>", value, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolGreaterThan(String value) {
            addCriterion("swimming_pool >", value, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolGreaterThanOrEqualTo(String value) {
            addCriterion("swimming_pool >=", value, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolLessThan(String value) {
            addCriterion("swimming_pool <", value, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolLessThanOrEqualTo(String value) {
            addCriterion("swimming_pool <=", value, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolLike(String value) {
            addCriterion("swimming_pool like", value, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolNotLike(String value) {
            addCriterion("swimming_pool not like", value, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolIn(List<String> values) {
            addCriterion("swimming_pool in", values, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolNotIn(List<String> values) {
            addCriterion("swimming_pool not in", values, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolBetween(String value1, String value2) {
            addCriterion("swimming_pool between", value1, value2, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andSwimmingPoolNotBetween(String value1, String value2) {
            addCriterion("swimming_pool not between", value1, value2, "swimmingPool");
            return (Criteria) this;
        }

        public Criteria andParkIsNull() {
            addCriterion("park is null");
            return (Criteria) this;
        }

        public Criteria andParkIsNotNull() {
            addCriterion("park is not null");
            return (Criteria) this;
        }

        public Criteria andParkEqualTo(String value) {
            addCriterion("park =", value, "park");
            return (Criteria) this;
        }

        public Criteria andParkNotEqualTo(String value) {
            addCriterion("park <>", value, "park");
            return (Criteria) this;
        }

        public Criteria andParkGreaterThan(String value) {
            addCriterion("park >", value, "park");
            return (Criteria) this;
        }

        public Criteria andParkGreaterThanOrEqualTo(String value) {
            addCriterion("park >=", value, "park");
            return (Criteria) this;
        }

        public Criteria andParkLessThan(String value) {
            addCriterion("park <", value, "park");
            return (Criteria) this;
        }

        public Criteria andParkLessThanOrEqualTo(String value) {
            addCriterion("park <=", value, "park");
            return (Criteria) this;
        }

        public Criteria andParkLike(String value) {
            addCriterion("park like", value, "park");
            return (Criteria) this;
        }

        public Criteria andParkNotLike(String value) {
            addCriterion("park not like", value, "park");
            return (Criteria) this;
        }

        public Criteria andParkIn(List<String> values) {
            addCriterion("park in", values, "park");
            return (Criteria) this;
        }

        public Criteria andParkNotIn(List<String> values) {
            addCriterion("park not in", values, "park");
            return (Criteria) this;
        }

        public Criteria andParkBetween(String value1, String value2) {
            addCriterion("park between", value1, value2, "park");
            return (Criteria) this;
        }

        public Criteria andParkNotBetween(String value1, String value2) {
            addCriterion("park not between", value1, value2, "park");
            return (Criteria) this;
        }

        public Criteria andLaundryIsNull() {
            addCriterion("laundry is null");
            return (Criteria) this;
        }

        public Criteria andLaundryIsNotNull() {
            addCriterion("laundry is not null");
            return (Criteria) this;
        }

        public Criteria andLaundryEqualTo(String value) {
            addCriterion("laundry =", value, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryNotEqualTo(String value) {
            addCriterion("laundry <>", value, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryGreaterThan(String value) {
            addCriterion("laundry >", value, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryGreaterThanOrEqualTo(String value) {
            addCriterion("laundry >=", value, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryLessThan(String value) {
            addCriterion("laundry <", value, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryLessThanOrEqualTo(String value) {
            addCriterion("laundry <=", value, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryLike(String value) {
            addCriterion("laundry like", value, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryNotLike(String value) {
            addCriterion("laundry not like", value, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryIn(List<String> values) {
            addCriterion("laundry in", values, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryNotIn(List<String> values) {
            addCriterion("laundry not in", values, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryBetween(String value1, String value2) {
            addCriterion("laundry between", value1, value2, "laundry");
            return (Criteria) this;
        }

        public Criteria andLaundryNotBetween(String value1, String value2) {
            addCriterion("laundry not between", value1, value2, "laundry");
            return (Criteria) this;
        }

        public Criteria andElevatorIsNull() {
            addCriterion("elevator is null");
            return (Criteria) this;
        }

        public Criteria andElevatorIsNotNull() {
            addCriterion("elevator is not null");
            return (Criteria) this;
        }

        public Criteria andElevatorEqualTo(String value) {
            addCriterion("elevator =", value, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorNotEqualTo(String value) {
            addCriterion("elevator <>", value, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorGreaterThan(String value) {
            addCriterion("elevator >", value, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorGreaterThanOrEqualTo(String value) {
            addCriterion("elevator >=", value, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorLessThan(String value) {
            addCriterion("elevator <", value, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorLessThanOrEqualTo(String value) {
            addCriterion("elevator <=", value, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorLike(String value) {
            addCriterion("elevator like", value, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorNotLike(String value) {
            addCriterion("elevator not like", value, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorIn(List<String> values) {
            addCriterion("elevator in", values, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorNotIn(List<String> values) {
            addCriterion("elevator not in", values, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorBetween(String value1, String value2) {
            addCriterion("elevator between", value1, value2, "elevator");
            return (Criteria) this;
        }

        public Criteria andElevatorNotBetween(String value1, String value2) {
            addCriterion("elevator not between", value1, value2, "elevator");
            return (Criteria) this;
        }

        public Criteria andCoffeeIsNull() {
            addCriterion("coffee is null");
            return (Criteria) this;
        }

        public Criteria andCoffeeIsNotNull() {
            addCriterion("coffee is not null");
            return (Criteria) this;
        }

        public Criteria andCoffeeEqualTo(String value) {
            addCriterion("coffee =", value, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeNotEqualTo(String value) {
            addCriterion("coffee <>", value, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeGreaterThan(String value) {
            addCriterion("coffee >", value, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeGreaterThanOrEqualTo(String value) {
            addCriterion("coffee >=", value, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeLessThan(String value) {
            addCriterion("coffee <", value, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeLessThanOrEqualTo(String value) {
            addCriterion("coffee <=", value, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeLike(String value) {
            addCriterion("coffee like", value, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeNotLike(String value) {
            addCriterion("coffee not like", value, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeIn(List<String> values) {
            addCriterion("coffee in", values, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeNotIn(List<String> values) {
            addCriterion("coffee not in", values, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeBetween(String value1, String value2) {
            addCriterion("coffee between", value1, value2, "coffee");
            return (Criteria) this;
        }

        public Criteria andCoffeeNotBetween(String value1, String value2) {
            addCriterion("coffee not between", value1, value2, "coffee");
            return (Criteria) this;
        }

        public Criteria andWifiIsNull() {
            addCriterion("wifi is null");
            return (Criteria) this;
        }

        public Criteria andWifiIsNotNull() {
            addCriterion("wifi is not null");
            return (Criteria) this;
        }

        public Criteria andWifiEqualTo(String value) {
            addCriterion("wifi =", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiNotEqualTo(String value) {
            addCriterion("wifi <>", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiGreaterThan(String value) {
            addCriterion("wifi >", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiGreaterThanOrEqualTo(String value) {
            addCriterion("wifi >=", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiLessThan(String value) {
            addCriterion("wifi <", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiLessThanOrEqualTo(String value) {
            addCriterion("wifi <=", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiLike(String value) {
            addCriterion("wifi like", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiNotLike(String value) {
            addCriterion("wifi not like", value, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiIn(List<String> values) {
            addCriterion("wifi in", values, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiNotIn(List<String> values) {
            addCriterion("wifi not in", values, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiBetween(String value1, String value2) {
            addCriterion("wifi between", value1, value2, "wifi");
            return (Criteria) this;
        }

        public Criteria andWifiNotBetween(String value1, String value2) {
            addCriterion("wifi not between", value1, value2, "wifi");
            return (Criteria) this;
        }

        public Criteria andReceptionIsNull() {
            addCriterion("reception is null");
            return (Criteria) this;
        }

        public Criteria andReceptionIsNotNull() {
            addCriterion("reception is not null");
            return (Criteria) this;
        }

        public Criteria andReceptionEqualTo(String value) {
            addCriterion("reception =", value, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionNotEqualTo(String value) {
            addCriterion("reception <>", value, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionGreaterThan(String value) {
            addCriterion("reception >", value, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionGreaterThanOrEqualTo(String value) {
            addCriterion("reception >=", value, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionLessThan(String value) {
            addCriterion("reception <", value, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionLessThanOrEqualTo(String value) {
            addCriterion("reception <=", value, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionLike(String value) {
            addCriterion("reception like", value, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionNotLike(String value) {
            addCriterion("reception not like", value, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionIn(List<String> values) {
            addCriterion("reception in", values, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionNotIn(List<String> values) {
            addCriterion("reception not in", values, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionBetween(String value1, String value2) {
            addCriterion("reception between", value1, value2, "reception");
            return (Criteria) this;
        }

        public Criteria andReceptionNotBetween(String value1, String value2) {
            addCriterion("reception not between", value1, value2, "reception");
            return (Criteria) this;
        }

        public Criteria andKitchenIsNull() {
            addCriterion("kitchen is null");
            return (Criteria) this;
        }

        public Criteria andKitchenIsNotNull() {
            addCriterion("kitchen is not null");
            return (Criteria) this;
        }

        public Criteria andKitchenEqualTo(String value) {
            addCriterion("kitchen =", value, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenNotEqualTo(String value) {
            addCriterion("kitchen <>", value, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenGreaterThan(String value) {
            addCriterion("kitchen >", value, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenGreaterThanOrEqualTo(String value) {
            addCriterion("kitchen >=", value, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenLessThan(String value) {
            addCriterion("kitchen <", value, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenLessThanOrEqualTo(String value) {
            addCriterion("kitchen <=", value, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenLike(String value) {
            addCriterion("kitchen like", value, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenNotLike(String value) {
            addCriterion("kitchen not like", value, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenIn(List<String> values) {
            addCriterion("kitchen in", values, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenNotIn(List<String> values) {
            addCriterion("kitchen not in", values, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenBetween(String value1, String value2) {
            addCriterion("kitchen between", value1, value2, "kitchen");
            return (Criteria) this;
        }

        public Criteria andKitchenNotBetween(String value1, String value2) {
            addCriterion("kitchen not between", value1, value2, "kitchen");
            return (Criteria) this;
        }

        public Criteria andAtmIsNull() {
            addCriterion("atm is null");
            return (Criteria) this;
        }

        public Criteria andAtmIsNotNull() {
            addCriterion("atm is not null");
            return (Criteria) this;
        }

        public Criteria andAtmEqualTo(String value) {
            addCriterion("atm =", value, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmNotEqualTo(String value) {
            addCriterion("atm <>", value, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmGreaterThan(String value) {
            addCriterion("atm >", value, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmGreaterThanOrEqualTo(String value) {
            addCriterion("atm >=", value, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmLessThan(String value) {
            addCriterion("atm <", value, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmLessThanOrEqualTo(String value) {
            addCriterion("atm <=", value, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmLike(String value) {
            addCriterion("atm like", value, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmNotLike(String value) {
            addCriterion("atm not like", value, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmIn(List<String> values) {
            addCriterion("atm in", values, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmNotIn(List<String> values) {
            addCriterion("atm not in", values, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmBetween(String value1, String value2) {
            addCriterion("atm between", value1, value2, "atm");
            return (Criteria) this;
        }

        public Criteria andAtmNotBetween(String value1, String value2) {
            addCriterion("atm not between", value1, value2, "atm");
            return (Criteria) this;
        }

        public Criteria andSupermarketIsNull() {
            addCriterion("supermarket is null");
            return (Criteria) this;
        }

        public Criteria andSupermarketIsNotNull() {
            addCriterion("supermarket is not null");
            return (Criteria) this;
        }

        public Criteria andSupermarketEqualTo(String value) {
            addCriterion("supermarket =", value, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketNotEqualTo(String value) {
            addCriterion("supermarket <>", value, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketGreaterThan(String value) {
            addCriterion("supermarket >", value, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketGreaterThanOrEqualTo(String value) {
            addCriterion("supermarket >=", value, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketLessThan(String value) {
            addCriterion("supermarket <", value, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketLessThanOrEqualTo(String value) {
            addCriterion("supermarket <=", value, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketLike(String value) {
            addCriterion("supermarket like", value, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketNotLike(String value) {
            addCriterion("supermarket not like", value, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketIn(List<String> values) {
            addCriterion("supermarket in", values, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketNotIn(List<String> values) {
            addCriterion("supermarket not in", values, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketBetween(String value1, String value2) {
            addCriterion("supermarket between", value1, value2, "supermarket");
            return (Criteria) this;
        }

        public Criteria andSupermarketNotBetween(String value1, String value2) {
            addCriterion("supermarket not between", value1, value2, "supermarket");
            return (Criteria) this;
        }

        public Criteria andLockIsNull() {
            addCriterion("lock is null");
            return (Criteria) this;
        }

        public Criteria andLockIsNotNull() {
            addCriterion("lock is not null");
            return (Criteria) this;
        }

        public Criteria andLockEqualTo(String value) {
            addCriterion("lock =", value, "lock");
            return (Criteria) this;
        }

        public Criteria andLockNotEqualTo(String value) {
            addCriterion("lock <>", value, "lock");
            return (Criteria) this;
        }

        public Criteria andLockGreaterThan(String value) {
            addCriterion("lock >", value, "lock");
            return (Criteria) this;
        }

        public Criteria andLockGreaterThanOrEqualTo(String value) {
            addCriterion("lock >=", value, "lock");
            return (Criteria) this;
        }

        public Criteria andLockLessThan(String value) {
            addCriterion("lock <", value, "lock");
            return (Criteria) this;
        }

        public Criteria andLockLessThanOrEqualTo(String value) {
            addCriterion("lock <=", value, "lock");
            return (Criteria) this;
        }

        public Criteria andLockLike(String value) {
            addCriterion("lock like", value, "lock");
            return (Criteria) this;
        }

        public Criteria andLockNotLike(String value) {
            addCriterion("lock not like", value, "lock");
            return (Criteria) this;
        }

        public Criteria andLockIn(List<String> values) {
            addCriterion("lock in", values, "lock");
            return (Criteria) this;
        }

        public Criteria andLockNotIn(List<String> values) {
            addCriterion("lock not in", values, "lock");
            return (Criteria) this;
        }

        public Criteria andLockBetween(String value1, String value2) {
            addCriterion("lock between", value1, value2, "lock");
            return (Criteria) this;
        }

        public Criteria andLockNotBetween(String value1, String value2) {
            addCriterion("lock not between", value1, value2, "lock");
            return (Criteria) this;
        }

        public Criteria andExpressIsNull() {
            addCriterion("express is null");
            return (Criteria) this;
        }

        public Criteria andExpressIsNotNull() {
            addCriterion("express is not null");
            return (Criteria) this;
        }

        public Criteria andExpressEqualTo(String value) {
            addCriterion("express =", value, "express");
            return (Criteria) this;
        }

        public Criteria andExpressNotEqualTo(String value) {
            addCriterion("express <>", value, "express");
            return (Criteria) this;
        }

        public Criteria andExpressGreaterThan(String value) {
            addCriterion("express >", value, "express");
            return (Criteria) this;
        }

        public Criteria andExpressGreaterThanOrEqualTo(String value) {
            addCriterion("express >=", value, "express");
            return (Criteria) this;
        }

        public Criteria andExpressLessThan(String value) {
            addCriterion("express <", value, "express");
            return (Criteria) this;
        }

        public Criteria andExpressLessThanOrEqualTo(String value) {
            addCriterion("express <=", value, "express");
            return (Criteria) this;
        }

        public Criteria andExpressLike(String value) {
            addCriterion("express like", value, "express");
            return (Criteria) this;
        }

        public Criteria andExpressNotLike(String value) {
            addCriterion("express not like", value, "express");
            return (Criteria) this;
        }

        public Criteria andExpressIn(List<String> values) {
            addCriterion("express in", values, "express");
            return (Criteria) this;
        }

        public Criteria andExpressNotIn(List<String> values) {
            addCriterion("express not in", values, "express");
            return (Criteria) this;
        }

        public Criteria andExpressBetween(String value1, String value2) {
            addCriterion("express between", value1, value2, "express");
            return (Criteria) this;
        }

        public Criteria andExpressNotBetween(String value1, String value2) {
            addCriterion("express not between", value1, value2, "express");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}